﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Unijovem.Domain;

namespace Unijovem.UI.Models
{
    public class PessoaModel : ModelBase<PessoaModel, Pessoa>
    {
        public int? IdFoto { get; set; }
        public ArquivoModel Arquivo { get; set; }
        public int IdUsuario { get; set; }
        public UsuarioModel Usuario { get; set; }

        //[RegularExpression(@"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", 
        //    ErrorMessage = "Email inválido")]
        [Extensions.Email(ErrorMessage = "Email inválido")]
        [Required(ErrorMessage = "O email é obrigatório")]
        public string Email { get; set; }
        public DateTime DataCadastro { get; set; }

        [DisplayName("Nome completo")]
        [Required(ErrorMessage = "O nome completo é obrigatório")]
        public string NomeCompleto { get; set; }

        [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
        [DisplayName("Data de nascimento")]
        [Required(ErrorMessage = "A data de nascimento é obrigatória")]
        public DateTime DataNascimento { get; set; }
        public string Sexo { get; set; }
        public List<PerfilModel> Perfils { get; set; }
        public List<AtividadeRecenteModel> AtividadesRecentes { get; set; }
    }
}